<?php

/**
 * Klasa zawierające pomocnicze metody statyczne
 * 
 * @author Marcin
 */
 
 class Helpers {
 	
	/**
	 * @method Base64_DecodeUTF8
	 * @param $base64string String Łańcuch znaków do odkodowania
	 * @return String Odkodowany łańcuch znaków
	 * 
	 * Metoda modyfikująca łańcuch znaków UTF-8 zakodowanych w formacie Base64 na czytelny tekst
	 * Przykładowy zakodowany string: =?UTF-8?B?cXdlcnR5dWlvcFtdxbzEhcWCw7PFusSHxYTEmQ==?=
	 * Metoda wycina wszystko, poza właściwym łańcuchem znaków, następnie dekoduje go.
	 */
	public static function Base64_DecodeUTF8($base64string) {
		$pos=0;
		if(FALSE===($pos=strpos($base64string, '=?UTF-8?'))) //jeśli nie znaleziono łańcucha znaków 
			return $base64string;
		$a = explode('?', substr($base64string, $pos));
		
		return ($pos==0?'':substr($base64string, 0, $pos-1)).' '.base64_decode('='.$a[3]);
	}
	
	/**
	 * @method Filter_HTML_Tags
	 * @param $notFilteredString String Łańcuch znaków do przetworzenia
	 * @return String Przetworzony łańcuch znaków
	 * 
	 * Metoda zamieniająca "wrażliwe" znaki < i > na ich HTMLowe odpowiedniki (&lt; i &gt;)
	 */
	 public static function Filter_HTML_Tags($notFilteredString) {
	 	$notFilteredString = str_replace('<', '&lt;', $notFilteredString);
		$notFilteredString = str_replace('>', '&gt;', $notFilteredString);
		return $notFilteredString;
	 }
 }
